Output buffers are commonly used with a variety of electrical circuits. For example, CMOS output buffers are used to provide desired drive characteristics for logical functions on semiconductor chips. Traditionally, such output buffers have been designed for specific circuits to provide specified speed, voltage and current driving characteristics under worst case environmental and loading conditions. These conditions are typically high temperature, low voltage supply, and a heavy load. Under conditions of low temperature, high voltage or a light load, the designed drive characteristics of the buffer may become grossly inappropriate, or may induce electrical interference into the surrounding semiconductor circuitry.
As semiconductor circuits become increasingly complex, more and more logical functions are being integrated into single chips. Typically, several logical functions may share a single output buffer in such circuits. However, the required drive characteristics for one of the functions may not be compatible with those of another function sharing the same output pin.
A need has thus arisen for a technique for selectively changing the output drive characteristics of an output buffer while operating, in order to compensate for changes in environment or function.